home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / icsources.lha / PROGRAMS / HYPER BARS INTRO < prev    next >
Encoding:
Text File  |  1990-06-23  |  39.2 KB  |  1,870 lines

  1.      
  2.      section ax,code_c
  3.     opt c-,d+,w-,o+    
  4.     
  5.     include 'df1:insert/custom registers'
  6.     
  7. badd=(320*256)/8
  8. cadd=56*256
  9. akey=$bfec01
  10.  
  11.     jsr mt_init
  12.     move.l #table,a3
  13.     move.l a3,baz
  14.     move.l #colourtab+24,a4
  15.     move.l a4,dig
  16.     move.l #colourtab+18,a4
  17.     move.l a4,dig1
  18.     move.l #colourtab+12,a4
  19.     move.l a4,dig2
  20.     move.l #colourtab+6,a4
  21.     move.l a4,dig3
  22.     move.l #colourtab+0,a4
  23.     move.l a4,dig4
  24.     jsr cop_init
  25.      move.l $6c,oldirq
  26.      move.l #newirq,$6c
  27. mse:
  28.      cmp.b #$f0,$dff006
  29.      bne mse
  30.      
  31. zog:
  32.      btst #6,$bfe001
  33.     bne mse
  34.     jsr mt_end
  35.      move.l oldirq,$6c
  36.      move.l copaddr,a0
  37.      move.l oldcop,(a0)
  38. nolib:    
  39.      rts    
  40. newirq:  
  41.     movem.l d0-d7/a0-a6,$75000
  42.     
  43.     cmpi.b #1,grumpy
  44.     bne gobtw
  45.     move.b #0,grumpy
  46.     jsr sorter
  47.     jsr sorter1
  48.     jsr sorter2
  49.     jsr sorter3
  50.     jsr sorter4
  51.     jsr mover
  52.     jmp endc
  53.     
  54. gobtw:  move.b #1,grumpy
  55.  
  56. endc:    
  57.     cmpi.b #1,stop
  58.     beq greb
  59.     cmpi.w #$0011,boh
  60.     bne whodo
  61.     jmp geh
  62. greb:    addi.b #1,stopcock
  63.     cmpi.b #200,stopcock
  64.     bne who
  65.     move.b #0,stop
  66.     move.b #0,stopcock
  67.     jmp whodo
  68. geh:
  69.     move.w #$00ff,boh
  70.     jsr bobsetup
  71.     jsr printy
  72.     jmp who
  73. whodo:    subi.w #$0022,boh
  74. who:    
  75.     cmpi.b #1,start
  76.     bne git
  77.     jsr mt_music
  78. git:
  79.     movem.l $75000,d0-d7/a0-a6
  80.     dc.w $4ef9
  81.     
  82. oldirq: dc.l 0
  83.  
  84.     even
  85.  
  86. cop_init:
  87.      lea screen,a0
  88.      move.l a0,d0
  89.      move.w d0,lo1
  90.      swap d0
  91.      move.w d0,hi1
  92.      lea screen+cadd,a0
  93.      move.l a0,d0
  94.      move.w d0,lo2
  95.      swap d0
  96.      move.w d0,hi2
  97.      lea screen+cadd*2,a0
  98.      move.l a0,d0
  99.      move.w d0,lo3
  100.      swap d0
  101.      move.w d0,hi3
  102.      lea screen+cadd*3,a0
  103.      move.l a0,d0
  104.      move.w d0,lo4
  105.      swap d0
  106.      move.w d0,hi4
  107.      lea screen+cadd*4,a0
  108.      move.l a0,d0
  109.      move.w d0,lo5
  110.      swap d0
  111.      move.w d0,hi5
  112.      
  113.      lea logo+25*40-4,a3
  114.      move.l a3,d0
  115.      move.w d0,alo1
  116.      swap d0
  117.      move.w d0,ahi1
  118.      lea logo+badd+25*40-2,a4
  119.      move.l a4,d1
  120.      move.w d1,alo2
  121.      swap d1
  122.      move.w d1,ahi2
  123.      lea logo+badd*2+25*40-2,a4
  124.      move.l a4,d1
  125.      move.w d1,alo3
  126.      swap d1
  127.      move.w d1,ahi3
  128.      lea logo+badd*3+25*40-2,a4
  129.      move.l a4,d1
  130.      move.w d1,alo4
  131.      swap d1
  132.      move.w d1,ahi4
  133.      lea logo+badd*4+25*40-2,a4
  134.      move.l a4,d1
  135.      move.w d1,alo5
  136.      swap d1
  137.      move.w d1,ahi5
  138.      
  139.      lea screen+190*56,a0
  140.      move.l a0,d0
  141.      move.w d0,blo1
  142.      swap d0
  143.      move.w d0,bhi1
  144.      lea screen+cadd+190*56,a0
  145.      move.l a0,d0
  146.      move.w d0,blo2
  147.      swap d0
  148.      move.w d0,bhi2
  149.      lea screen+cadd*2+190*56,a0
  150.      move.l a0,d0
  151.      move.w d0,blo3
  152.      swap d0
  153.      move.w d0,bhi3
  154.      lea screen+cadd*3+190*56,a0
  155.      move.l a0,d0
  156.      move.w d0,blo4
  157.      swap d0
  158.      move.w d0,bhi4
  159.      lea screen+cadd*4+190*56,a0
  160.      move.l a0,d0
  161.      move.w d0,blo5
  162.      swap d0
  163.      move.w d0,bhi5
  164.      
  165.      moveq #$00,d0
  166.      lea grafname,a1
  167.      move.l $4,a6
  168.      jsr -132(A6)
  169.      move.l $4,A6
  170.      jsr -408(a6)
  171.      tst d0
  172.      beq nolib
  173.      move.l d0,grafbase
  174.      move.l d0,a6
  175.      add.l #$32,d0
  176.      move.l d0,a0
  177.      move.l a0,copaddr
  178.      move.l (a0),oldcop
  179.      move.l #newcop,(a0)
  180.      rts
  181.  
  182.     even
  183.       
  184. grafname: dc.b "graphics.library",0
  185. grafbase: dc.l 0
  186. oldcop:   dc.l 0
  187. copaddr:  dc.l 0
  188. dig:      dc.l 0
  189. dig1:      dc.l 0
  190. dig2:      dc.l 0
  191. dig3:      dc.l 0
  192. dig4:      dc.l 0
  193. grumpy:      dc.l 0
  194. counter:  dc.b 0
  195. counter1: dc.b 0
  196. counter2: dc.b 0
  197. counter3: dc.b 0
  198. counter4: dc.b 0
  199. stop:      dc.b 0
  200. stopcock: dc.b 0
  201. start:      dc.b 0
  202. tune:      dc.b 0
  203.  
  204.     even
  205.  
  206. newcop:     dc.w $0100,$5200
  207.       dc.w $0102
  208.       dc.w $00ff
  209.      dc.w $0120
  210. sp1l:     dc.w $0000,$0122
  211. sp1h:      dc.w $0000 
  212.      dc.w $0124
  213. sp2l:     dc.w $0000,$0126
  214. sp2h:      dc.w $0000 
  215.      dc.w $0128
  216. sp3l:     dc.w $0000,$012a
  217. sp3h:      dc.w $0000 
  218.      dc.w $012c
  219. sp4l:     dc.w $0000,$012e
  220. sp4h:      dc.w $0000
  221.      dc.w $0130
  222. sp5l:     dc.w $0000,$132
  223. sp5h:      dc.w $0000
  224.  scr:       dc.w $2001,$fffe
  225.       dc.w $00e0
  226.  hi1:     dc.w $0000
  227.      dc.w $00e2
  228.  lo1:     dc.w $0000     
  229.      dc.w $00e4
  230.  hi2:     dc.w $0000
  231.      dc.w $00e6
  232.  lo2:     dc.w $0000 
  233.      dc.w $00e8
  234.  hi3:     dc.w $0000
  235.      dc.w $00ea
  236.  lo3:     dc.w $0000 
  237.      dc.w $00ec
  238.  hi4:     dc.w $0000
  239.      dc.w $00ee
  240.  lo4:     dc.w $0000 
  241.      dc.w $00f0
  242.  hi5:     dc.w $0000
  243.      dc.w $00f2
  244.  lo5:     dc.w $0000
  245.      dc.w $008e,$3021 
  246.      dc.w $0090,$30f1
  247.      dc.w $0092,$0020
  248.      dc.w $0094,$00d8
  249.      dc.w $0108,$0008
  250.      
  251.      dc.w $2001,$fffe
  252.      dc.w $0180
  253. b1:     dc.w $0000
  254.      dc.w $2101,$fffe
  255.      dc.w $0180
  256. b2:     dc.w $0000
  257.      dc.w $2201,$fffe
  258.      dc.w $0180
  259. b3:     dc.w $0000
  260.      dc.w $2301,$fffe
  261.      dc.w $0180
  262. b4:     dc.w $0000
  263.      dc.w $2401,$fffe
  264.      dc.w $0180
  265. b5:     dc.w $0000
  266.      dc.w $2501,$fffe
  267.      dc.w $0180
  268. b6:     dc.w $0000
  269.      dc.w $2601,$fffe
  270.      dc.w $0180
  271. b7:     dc.w $0000
  272.      dc.w $2701,$fffe
  273.      dc.w $0180
  274. b8:     dc.w $0000
  275.      dc.w $2801,$fffe
  276.      dc.w $0180
  277. c1:     dc.w $0000
  278.      dc.w $2901,$fffe
  279.      dc.w $0180
  280. c2:     dc.w $0000
  281.      dc.w $2a01,$fffe
  282.      dc.w $0180
  283. c3:     dc.w $0000
  284.      dc.w $2b01,$fffe
  285.      dc.w $0180
  286. c4:     dc.w $0000
  287.      dc.w $2c01,$fffe
  288.      dc.w $0180
  289. c5:     dc.w $0000
  290.      dc.w $2d01,$fffe
  291.      dc.w $0180
  292. c6:     dc.w $0000
  293.      dc.w $2e01,$fffe
  294.      dc.w $0180
  295. c7:     dc.w $0000
  296.      dc.w $2f01,$fffe
  297.      dc.w $0180
  298. c8:     dc.w $0000
  299.      dc.w $3001,$fffe
  300.      dc.w $0180
  301. e1:     dc.w $0000
  302.      dc.w $3101,$fffe
  303.      dc.w $0180
  304. e2:     dc.w $0000
  305.      dc.w $3201,$fffe
  306.      dc.w $0180
  307. e3:     dc.w $0000
  308.      dc.w $3301,$fffe
  309.      dc.w $0180
  310. e4:     dc.w $0000
  311.      dc.w $3401,$fffe
  312.      dc.w $0180
  313. e5:     dc.w $0000
  314.      dc.w $3501,$fffe
  315.      dc.w $0180
  316. e6:     dc.w $0000
  317.      dc.w $3601,$fffe
  318.      dc.w $0180
  319. e7:     dc.w $0000
  320.      dc.w $3701,$fffe
  321.      dc.w $0180
  322. e8:     dc.w $0000
  323.      dc.w $3801,$fffe
  324.      dc.w $0180
  325. f1:     dc.w $0000
  326.      dc.w $3901,$fffe
  327.      dc.w $0180
  328. f2:     dc.w $0000
  329.      dc.w $3a01,$fffe
  330.      dc.w $0180
  331. f3:     dc.w $0000
  332.      dc.w $3b01,$fffe
  333.      dc.w $0180
  334. f4:     dc.w $0000
  335.      dc.w $3c01,$fffe
  336.      dc.w $0180
  337. f5:     dc.w $0000
  338.      dc.w $3d01,$fffe
  339.      dc.w $0180
  340. f6:     dc.w $0000
  341.      dc.w $3e01,$fffe
  342.      dc.w $0180
  343. f7:     dc.w $0000
  344.      dc.w $3f01,$fffe
  345.      dc.w $0180
  346. f8:     dc.w $0000
  347.      dc.w $4001,$fffe
  348.      dc.w $0180
  349. g1:     dc.w $0000
  350.      dc.w $4101,$fffe
  351.      dc.w $0180
  352. g2:     dc.w $0000
  353.      dc.w $4201,$fffe
  354.      dc.w $0180
  355. g3:     dc.w $0000
  356.      dc.w $4301,$fffe
  357.      dc.w $0180
  358. g4:     dc.w $0000
  359.      dc.w $4401,$fffe
  360.      dc.w $0180
  361. g5:     dc.w $0000
  362.      dc.w $4501,$fffe
  363.      dc.w $0180
  364. g6:     dc.w $0000
  365.      dc.w $4601,$fffe
  366.      dc.w $0180
  367. g7:     dc.w $0000
  368.      dc.w $4701,$fffe
  369.      dc.w $0180
  370. g8:     dc.w $0000
  371.      dc.w $4801,$fffe
  372.      dc.w $0180,$0000
  373.      dc.w $0092,$0030
  374.      dc.w $0094,$00c8
  375.      dc.w $0108,$0000
  376.      dc.w $0102,$0000
  377.      dc.w $180,$000,$182,$306,$184,$407,$186,$417
  378.      dc.w $188,$528,$18a,$629,$18c,$639,$18e,$74a,$190,$85a
  379.      dc.w $192,$96b,$194,$a8c,$196,$b9c,$198,$cad,$19a,$dce
  380.      dc.w $19c,$ede,$19e,$fff,$1a0,$000,$1a2,$111,$1a4,$222
  381.      dc.w $1a6,$333,$1a8,$444,$1aa,$555,$1ac,$666,$1ae,$777
  382.      dc.w $1b0,$888,$1b2,$999,$1b4,$aaa,$1b6,$bbb,$1b8,$ccc
  383.      dc.w $1ba,$ddd,$1bc,$eee,$1be,$fff
  384.      dc.w $0180,$0000
  385.      dc.w $0180,$0000
  386.       dc.w $00e0
  387. ahi1:     dc.w $0000
  388.      dc.w $00e2
  389. alo1:     dc.w $0000     
  390.      dc.w $00e4
  391. ahi2:     dc.w $0000
  392.      dc.w $00e6
  393. alo2:     dc.w $0000 
  394.      dc.w $00e8
  395. ahi3:     dc.w $0000
  396.      dc.w $00ea
  397. alo3:     dc.w $0000 
  398.      dc.w $00ec
  399. ahi4:     dc.w $0000
  400.      dc.w $00ee
  401. alo4:     dc.w $0000 
  402.      dc.w $00f0
  403. ahi5:     dc.w $0000
  404.      dc.w $00f2
  405. alo5:     dc.w $0000
  406.      dc.w $cb01,$fffe
  407.      dc.w $0182,$0fff
  408.      dc.w $0180
  409. h1:     dc.w $0000
  410.      dc.w $cc01,$fffe
  411.      dc.w $0180
  412. h2:     dc.w $0000
  413.      dc.w $cd01,$fffe
  414.      dc.w $0180
  415. h3:     dc.w $0000
  416.      dc.w $ce01,$fffe
  417.      dc.w $0180
  418. h4:     dc.w $0000
  419.      dc.w $cf01,$fffe
  420.      dc.w $0180
  421. h5:     dc.w $0000
  422.      dc.w $d001,$fffe
  423.      dc.w $0180
  424. h6:     dc.w $0000
  425.      dc.w $d101,$fffe
  426.      dc.w $0180
  427. h7:     dc.w $0000
  428.      dc.w $d201,$fffe
  429.      dc.w $0180
  430. h8:     dc.w $0000
  431.      dc.w $d301,$fffe
  432.      dc.w $0180
  433. i1:     dc.w $0000
  434.      dc.w $d401,$fffe
  435.      dc.w $0180
  436. i2:     dc.w $0000
  437.      dc.w $d501,$fffe
  438.      dc.w $0180
  439. i3:     dc.w $0000
  440.      dc.w $d601,$fffe
  441.      dc.w $0180
  442. i4:     dc.w $0000
  443.      dc.w $d701,$fffe
  444.      dc.w $0180
  445. i5:     dc.w $0000
  446.      dc.w $d801,$fffe
  447.      dc.w $0180
  448. i6:     dc.w $0000
  449.      dc.w $d901,$fffe
  450.      dc.w $0180
  451. i7:     dc.w $0000
  452.      dc.w $da01,$fffe
  453.      dc.w $0180
  454. i8:     dc.w $0000
  455.      dc.w $db01,$fffe
  456.      dc.w $0180
  457. j1:     dc.w $0000
  458.      dc.w $dc01,$fffe
  459.      dc.w $0180
  460. j2:     dc.w $0000
  461.      dc.w $dd01,$fffe
  462.      dc.w $0180
  463. j3:     dc.w $0000
  464.      dc.w $de01,$fffe
  465.      dc.w $0180
  466. j4:     dc.w $0000
  467.      dc.w $df01,$fffe
  468.      dc.w $0180
  469. j5:     dc.w $0000
  470.      dc.w $e001,$fffe
  471.      dc.w $0180
  472. j6:     dc.w $0000
  473.      dc.w $e101,$fffe
  474.      dc.w $0180
  475. j7:     dc.w $0000
  476.      dc.w $e201,$fffe
  477.      dc.w $0180
  478. j8:     dc.w $0000
  479.      dc.w $e301,$fffe
  480.      dc.w $0180
  481. k1:     dc.w $0000
  482.      dc.w $e401,$fffe
  483.      dc.w $0180
  484. k2:     dc.w $0000
  485.      dc.w $e501,$fffe
  486.      dc.w $0180
  487. k3:     dc.w $0000
  488.      dc.w $e601,$fffe
  489.      dc.w $0180
  490. k4:     dc.w $0000
  491.      dc.w $e701,$fffe
  492.      dc.w $0180
  493. k5:     dc.w $0000
  494.      dc.w $e801,$fffe
  495.      dc.w $0180
  496. k6:     dc.w $0000
  497.      dc.w $e901,$fffe
  498.      dc.w $0180
  499. k7:     dc.w $0000
  500.      dc.w $ea01,$fffe
  501.      dc.w $0180
  502. k8:     dc.w $0000
  503.      dc.w $eb01,$fffe
  504.      dc.w $0180
  505. l1:     dc.w $0000
  506.      dc.w $ec01,$fffe
  507.      dc.w $0180
  508. l2:     dc.w $0000
  509.      dc.w $ed01,$fffe
  510.      dc.w $0180
  511. l3:     dc.w $0000
  512.      dc.w $ee01,$fffe
  513.      dc.w $0180
  514. l4:     dc.w $0000
  515.      dc.w $ef01,$fffe
  516.      dc.w $0180
  517. l5:     dc.w $0000
  518.      dc.w $f001,$fffe
  519.      dc.w $0180
  520. l6:     dc.w $0000
  521.      dc.w $f101,$fffe
  522.      dc.w $0180
  523. l7:     dc.w $0000
  524.      dc.w $f201,$fffe
  525.      dc.w $0180
  526. l8:     dc.w $0000
  527.      dc.w $f301,$fffe
  528.      dc.w $0180,$0000
  529.      dc.w $0092,$0020
  530.      dc.w $0094,$00d8
  531.      dc.w $0108,$0008
  532.      dc.w $0102
  533. boh:     dc.w $00ff
  534.       dc.w $00e0
  535. bhi1:     dc.w $0000
  536.      dc.w $00e2
  537. blo1:     dc.w $0000     
  538.      dc.w $00e4
  539. bhi2:     dc.w $0000
  540.      dc.w $00e6
  541. blo2:     dc.w $0000 
  542.      dc.w $00e8
  543. bhi3:     dc.w $0000
  544.      dc.w $00ea
  545. blo3:     dc.w $0000 
  546.      dc.w $00ec
  547. bhi4:     dc.w $0000
  548.      dc.w $00ee
  549. blo4:     dc.w $0000 
  550.      dc.w $00f0
  551. bhi5:     dc.w $0000
  552.      dc.w $00f2
  553. blo5:     dc.w $0000
  554.      dc.w $ffff,$fffe
  555.      
  556.      even
  557.  
  558.  
  559. screen:
  560.      ds.b 5*cadd
  561.      
  562. colourtab:
  563.     
  564.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  565.     dc.w $0000,$0000,$0000,$0000,$0100,$0300,$0500,$0700
  566.     dc.w $0900,$0b00,$0d00,$0f00,$0d00,$0b00,$0900,$0700
  567.     dc.w $0500,$0300,$0100,$0000,$0000,$0000,$0000,$0000
  568.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  569.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  570.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  571.     dc.w $0000,$0000,$0000,$0000,$0010,$0030,$0050,$0070
  572.     dc.w $0090,$00b0,$00d0,$00f0,$00d0,$00b0,$0090,$0070
  573.     dc.w $0050,$0030,$0010,$0000,$0000,$0000,$0000,$0000
  574.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  575.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  576.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  577.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  578.     dc.w $0000,$0000,$0000,$0000,$0101,$0303,$0505,$0707
  579.     dc.w $0909,$0b0b,$0d0d,$0f0f,$0d0d,$0b0b,$0909,$0707
  580.     dc.w $0505,$0303,$0101,$0000,$0000,$0000,$0000,$0000 
  581.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  582.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  583.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  584.     dc.w $0000,$0000,$0000,$0000,$0011,$0033,$0055,$0077
  585.     dc.w $0099,$00bb,$00dd,$00ff,$00dd,$00bb,$0099,$0077
  586.     dc.w $0055,$0033,$0011,$0000,$0000,$0000,$0000,$0000
  587.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  588.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  589.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  590.     dc.w $0000,$0000,$0000,$0000,$0110,$0330,$0550,$0770
  591.     dc.w $0990,$0bb0,$0dd0,$0ff0,$0dd0,$0bb0,$0990,$0770
  592.     dc.w $0550,$0330,$0110,$0000,$0000,$0000,$0000,$0000
  593.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  594.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  595.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  596.     dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  597.     
  598.      
  599.      
  600.  
  601.  
  602. sorter:
  603.     move.l dig,a4
  604.     move.w (a4),b1
  605.     adda.l #2,a4
  606.     move.w (a4),b2
  607.     adda.l #2,a4
  608.     move.w (a4),b3
  609.     adda.l #2,a4
  610.     move.w (a4),b4
  611.     adda.l #2,a4
  612.     move.w (a4),b5
  613.     adda.l #2,a4
  614.     move.w (a4),b6
  615.     adda.l #2,a4
  616.     move.w (a4),b7
  617.     adda.l #2,a4
  618.     move.w (a4),b8
  619.     suba.l #12,a4
  620.     move.l a4,dig
  621.     cmpi.b #8*30,counter
  622.     bne hug
  623.     move.l #colourtab+24,a4
  624.     move.l a4,dig
  625.     move.b #0,counter
  626. hug:
  627.     addi.b #1,counter
  628.     rts
  629.     
  630. sorter1:
  631.     move.l dig1,a4
  632.     move.w (a4),c1
  633.     adda.l #2,a4
  634.     move.w (a4),c2
  635.     adda.l #2,a4
  636.     move.w (a4),c3
  637.     adda.l #2,a4
  638.     move.w (a4),c4
  639.     adda.l #2,a4
  640.     move.w (a4),c5
  641.     adda.l #2,a4
  642.     move.w (a4),c6
  643.     adda.l #2,a4
  644.     move.w (a4),c7
  645.     adda.l #2,a4
  646.     move.w (a4),c8
  647.     suba.l #12,a4
  648.     move.l a4,dig1
  649.     cmpi.b #8*30,counter1
  650.     bne hug1
  651.     move.l #colourtab+18,a4
  652.     move.l a4,dig1
  653.     move.b #0,counter1
  654. hug1:
  655.     addi.b #1,counter1
  656.     rts
  657.     
  658.     
  659. sorter2:
  660.     move.l dig2,a4
  661.     move.w (a4),e1
  662.     adda.l #2,a4
  663.     move.w (a4),e2
  664.     adda.l #2,a4
  665.     move.w (a4),e3
  666.     adda.l #2,a4
  667.     move.w (a4),e4
  668.     adda.l #2,a4
  669.     move.w (a4),e5
  670.     adda.l #2,a4
  671.     move.w (a4),e6
  672.     adda.l #2,a4
  673.     move.w (a4),e7
  674.     adda.l #2,a4
  675.     move.w (a4),e8
  676.     suba.l #12,a4
  677.     move.l a4,dig2
  678.     cmpi.b #8*30,counter2
  679.     bne hug2
  680.     move.l #colourtab+12,a4
  681.     move.l a4,dig2
  682.     move.b #0,counter2
  683. hug2:
  684.     addi.b #1,counter2
  685.     rts
  686.     
  687.     
  688. sorter3:
  689.     move.l dig3,a4
  690.     move.w (a4),f1
  691.     adda.l #2,a4
  692.     move.w (a4),f2
  693.     adda.l #2,a4
  694.     move.w (a4),f3
  695.     adda.l #2,a4
  696.     move.w (a4),f4
  697.     adda.l #2,a4
  698.     move.w (a4),f5
  699.     adda.l #2,a4
  700.     move.w (a4),f6
  701.     adda.l #2,a4
  702.     move.w (a4),f7
  703.     adda.l #2,a4
  704.     move.w (a4),f8
  705.     suba.l #12,a4
  706.     move.l a4,dig3
  707.     cmpi.b #8*30,counter3
  708.     bne hug3
  709.     move.l #colourtab+6,a4
  710.     move.l a4,dig3
  711.     move.b #0,counter3
  712. hug3:
  713.     addi.b #1,counter3
  714.     rts
  715.  
  716.     
  717. sorter4:
  718.     move.l dig4,a4
  719.     move.w (a4),g1
  720.     adda.l #2,a4
  721.     move.w (a4),g2
  722.     adda.l #2,a4
  723.     move.w (a4),g3
  724.     adda.l #2,a4
  725.     move.w (a4),g4
  726.     adda.l #2,a4
  727.     move.w (a4),g5
  728.     adda.l #2,a4
  729.     move.w (a4),g6
  730.     adda.l #2,a4
  731.     move.w (a4),g7
  732.     adda.l #2,a4
  733.     move.w (a4),g8
  734.     suba.l #12,a4
  735.     move.l a4,dig4
  736.     cmpi.b #8*30,counter4
  737.     bne hug4
  738.     move.l #colourtab,a4
  739.     move.l a4,dig4
  740.     move.b #0,counter4
  741. hug4:
  742.     addi.b #1,counter4
  743.     rts
  744.  
  745.  
  746. mover:    
  747.     move.w b1,h1
  748.     move.w b2,h2
  749.     move.w b3,h3
  750.     move.w b4,h4
  751.     move.w b5,h5
  752.     move.w b6,h6
  753.     move.w b7,h7
  754.     move.w b8,h8
  755.     move.w c1,i1
  756.     move.w c2,i2
  757.     move.w c3,i3
  758.     move.w c4,i4
  759.     move.w c5,i5
  760.     move.w c6,i6
  761.     move.w c7,i7
  762.     move.w c8,i8
  763.     move.w e1,j1
  764.     move.w e2,j2
  765.     move.w e3,j3
  766.     move.w e4,j4
  767.     move.w e5,j5
  768.     move.w e6,j6
  769.     move.w e7,j7
  770.     move.w e8,j8
  771.     move.w f1,k1
  772.     move.w f2,k2
  773.     move.w f3,k3
  774.     move.w f4,k4
  775.     move.w f5,k5
  776.     move.w f6,k6
  777.     move.w f7,k7
  778.     move.w f8,k8
  779.     move.w g1,l1
  780.     move.w g2,l2
  781.     move.w g3,l3
  782.     move.w g4,l4
  783.     move.w g5,l5
  784.     move.w g6,l6
  785.     move.w g7,l7
  786.     move.w g8,l8
  787.     rts
  788.  
  789.     even
  790. countx: dc.b 0
  791. baz:    dc.l 0
  792. yaz:    dc.b 0
  793. gook:    dc.b 0
  794. ook:    dc.b 0
  795.     even
  796.  
  797. picdata:
  798.      incbin "df1:graphics/para.chrset.raw"
  799.      
  800. bobsetup:
  801.      lea $dff000,a6
  802.      move.w #$09f0,bltcon0(a6)
  803.      clr.w bltcon1(a6)
  804.      clr.w bltamod(a6)
  805.      move.w #56-50,bltdmod(a6)             ;Destination Modulo
  806.      move.w #56-50,bltamod(a6)             ;Source Modulo (Scr Width - bob width)
  807.      move.l #screen-2+(56*220),bltdpt(a6)   ;Destination Start
  808.      move.l #screen+(56*220),bltapt(a6)     ;Source Start
  809.      move.w #%0000001000011001,bltsize(a6) ;Size (Lo 6 Bits Horiz)    
  810.      rts
  811.  
  812. printy:
  813.      move.l baz,a2
  814.      move.b (a2),yaz
  815.      move.b (a2)+,ook
  816.      move.l a2,baz
  817.      cmpi.b #0,yaz
  818.      bne frek
  819.      move.l #table,a2
  820.      move.l a2,baz
  821.      jmp ik
  822. frek:
  823.      cmpi.b #65,yaz  ;A
  824.      bne char2
  825. char1:     
  826.      move.b picdata+320,screen+48+(56*220)
  827.      move.b picdata+360,screen+48+(56*221)
  828.      move.b picdata+400,screen+48+(56*222)
  829.      move.b picdata+440,screen+48+(56*223)
  830.      move.b picdata+480,screen+48+(56*224)
  831.      move.b picdata+520,screen+48+(56*225)
  832.      move.b picdata+560,screen+48+(56*226)
  833.      move.b picdata+600,screen+48+(56*227)
  834.      jmp ik
  835. char2:   
  836.      cmpi.b #66,yaz  ;B
  837.      bne char3
  838.       move.b picdata+320+1,screen+48+(56*220)
  839.      move.b picdata+360+1,screen+48+(56*221)
  840.      move.b picdata+400+1,screen+48+(56*222)
  841.      move.b picdata+440+1,screen+48+(56*223)
  842.      move.b picdata+480+1,screen+48+(56*224)
  843.      move.b picdata+520+1,screen+48+(56*225)
  844.      move.b picdata+560+1,screen+48+(56*226)
  845.      move.b picdata+600+1,screen+48+(56*227)
  846.      jmp ik
  847. char3:
  848.       cmpi.b #67,yaz  ;C
  849.      bne char4
  850.       move.b picdata+320+2,screen+48+(56*220)
  851.      move.b picdata+360+2,screen+48+(56*221)
  852.      move.b picdata+400+2,screen+48+(56*222)
  853.      move.b picdata+440+2,screen+48+(56*223)
  854.      move.b picdata+480+2,screen+48+(56*224)
  855.      move.b picdata+520+2,screen+48+(56*225)
  856.      move.b picdata+560+2,screen+48+(56*226)
  857.      move.b picdata+600+2,screen+48+(56*227)
  858.      jmp ik
  859. char4:
  860.       cmpi.b #68,yaz  ;D
  861.      bne char5
  862.       move.b picdata+320+3,screen+48+(56*220)
  863.      move.b picdata+360+3,screen+48+(56*221)
  864.      move.b picdata+400+3,screen+48+(56*222)
  865.      move.b picdata+440+3,screen+48+(56*223)
  866.      move.b picdata+480+3,screen+48+(56*224)
  867.      move.b picdata+520+3,screen+48+(56*225)
  868.      move.b picdata+560+3,screen+48+(56*226)
  869.      move.b picdata+600+3,screen+48+(56*227)
  870.      jmp ik
  871. char5:
  872.      cmpi.b #69,yaz  ;E
  873.      bne char6
  874.       move.b picdata+320+4,screen+48+(56*220)
  875.      move.b picdata+360+4,screen+48+(56*221)
  876.      move.b picdata+400+4,screen+48+(56*222)
  877.      move.b picdata+440+4,screen+48+(56*223)
  878.      move.b picdata+480+4,screen+48+(56*224)
  879.      move.b picdata+520+4,screen+48+(56*225)
  880.      move.b picdata+560+4,screen+48+(56*226)
  881.      move.b picdata+600+4,screen+48+(56*227)
  882.      jmp ik
  883. char6:
  884.       cmpi.b #70,yaz  ;F
  885.      bne char7
  886.       move.b picdata+320+5,screen+48+(56*220)
  887.      move.b picdata+360+5,screen+48+(56*221)
  888.      move.b picdata+400+5,screen+48+(56*222)
  889.      move.b picdata+440+5,screen+48+(56*223)
  890.      move.b picdata+480+5,screen+48+(56*224)
  891.      move.b picdata+520+5,screen+48+(56*225)
  892.      move.b picdata+560+5,screen+48+(56*226)
  893.      move.b picdata+600+5,screen+48+(56*227)
  894.      jmp ik
  895. char7:    
  896.      cmpi.b #71,yaz  ;G
  897.      bne char8
  898.       move.b picdata+320+6,screen+48+(56*220)
  899.      move.b picdata+360+6,screen+48+(56*221)
  900.      move.b picdata+400+6,screen+48+(56*222)
  901.      move.b picdata+440+6,screen+48+(56*223)
  902.      move.b picdata+480+6,screen+48+(56*224)
  903.      move.b picdata+520+6,screen+48+(56*225)
  904.      move.b picdata+560+6,screen+48+(56*226)
  905.      move.b picdata+600+6,screen+48+(56*227)
  906.      jmp ik 
  907. char8:
  908.      cmpi.b #72,yaz  ;H
  909.      bne char9
  910.       move.b picdata+320+7,screen+48+(56*220)
  911.      move.b picdata+360+7,screen+48+(56*221)
  912.      move.b picdata+400+7,screen+48+(56*222)
  913.      move.b picdata+440+7,screen+48+(56*223)
  914.      move.b picdata+480+7,screen+48+(56*224)
  915.      move.b picdata+520+7,screen+48+(56*225)
  916.      move.b picdata+560+7,screen+48+(56*226)
  917.      move.b picdata+600+7,screen+48+(56*227)
  918.      jmp ik 
  919. char9:
  920.      cmpi.b #73,yaz  ;I
  921.      bne char10
  922.       move.b picdata+320+8,screen+48+(56*220)
  923.      move.b picdata+360+8,screen+48+(56*221)
  924.      move.b picdata+400+8,screen+48+(56*222)
  925.      move.b picdata+440+8,screen+48+(56*223)
  926.      move.b picdata+480+8,screen+48+(56*224)
  927.      move.b picdata+520+8,screen+48+(56*225)
  928.      move.b picdata+560+8,screen+48+(56*226)
  929.      move.b picdata+600+8,screen+48+(56*227)
  930.      jmp ik
  931. char10:
  932.      cmpi.b #74,yaz  ;J
  933.      bne char11
  934.       move.b picdata+320+9,screen+48+(56*220)
  935.      move.b picdata+360+9,screen+48+(56*221)
  936.      move.b picdata+400+9,screen+48+(56*222)
  937.      move.b picdata+440+9,screen+48+(56*223)
  938.      move.b picdata+480+9,screen+48+(56*224)
  939.      move.b picdata+520+9,screen+48+(56*225)
  940.      move.b picdata+560+9,screen+48+(56*226)
  941.      move.b picdata+600+9,screen+48+(56*227)
  942.      jmp ik
  943. char11:
  944.      cmpi.b #75,yaz  ;K
  945.      bne char12
  946.       move.b picdata+320+10,screen+48+(56*220)
  947.      move.b picdata+360+10,screen+48+(56*221)
  948.      move.b picdata+400+10,screen+48+(56*222)
  949.      move.b picdata+440+10,screen+48+(56*223)
  950.      move.b picdata+480+10,screen+48+(56*224)
  951.      move.b picdata+520+10,screen+48+(56*225)
  952.      move.b picdata+560+10,screen+48+(56*226)
  953.      move.b picdata+600+10,screen+48+(56*227)
  954.      jmp ik
  955. char12:
  956.      cmpi.b #76,yaz  ;L
  957.      bne char13
  958.       move.b picdata+320+11,screen+48+(56*220)
  959.      move.b picdata+360+11,screen+48+(56*221)
  960.      move.b picdata+400+11,screen+48+(56*222)
  961.      move.b picdata+440+11,screen+48+(56*223)
  962.      move.b picdata+480+11,screen+48+(56*224)
  963.      move.b picdata+520+11,screen+48+(56*225)
  964.      move.b picdata+560+11,screen+48+(56*226)
  965.      move.b picdata+600+11,screen+48+(56*227)
  966.      jmp ik
  967. char13:
  968.      cmpi.b #77,yaz  ;M
  969.      bne char14
  970.       move.b picdata+320+12,screen+48+(56*220)
  971.      move.b picdata+360+12,screen+48+(56*221)
  972.      move.b picdata+400+12,screen+48+(56*222)
  973.      move.b picdata+440+12,screen+48+(56*223)
  974.      move.b picdata+480+12,screen+48+(56*224)
  975.      move.b picdata+520+12,screen+48+(56*225)
  976.      move.b picdata+560+12,screen+48+(56*226)
  977.      move.b picdata+600+12,screen+48+(56*227)
  978.      jmp ik
  979. char14:  
  980.      cmpi.b #78,yaz  ;N
  981.      bne char15
  982.       move.b picdata+320+13,screen+48+(56*220)
  983.      move.b picdata+360+13,screen+48+(56*221)
  984.      move.b picdata+400+13,screen+48+(56*222)
  985.      move.b picdata+440+13,screen+48+(56*223)
  986.      move.b picdata+480+13,screen+48+(56*224)
  987.      move.b picdata+520+13,screen+48+(56*225)
  988.      move.b picdata+560+13,screen+48+(56*226)
  989.      move.b picdata+600+13,screen+48+(56*227)
  990.      jmp ik
  991. char15:
  992.       cmpi.b #79,yaz  ;O
  993.      bne char16
  994.       move.b picdata+320+14,screen+48+(56*220)
  995.      move.b picdata+360+14,screen+48+(56*221)
  996.      move.b picdata+400+14,screen+48+(56*222)
  997.      move.b picdata+440+14,screen+48+(56*223)
  998.      move.b picdata+480+14,screen+48+(56*224)
  999.      move.b picdata+520+14,screen+48+(56*225)
  1000.      move.b picdata+560+14,screen+48+(56*226)
  1001.      move.b picdata+600+14,screen+48+(56*227)
  1002.      jmp ik
  1003. char16:
  1004.      cmpi.b #80,yaz  ;P
  1005.      bne char17
  1006.       move.b picdata+320+15,screen+48+(56*220)
  1007.      move.b picdata+360+15,screen+48+(56*221)
  1008.      move.b picdata+400+15,screen+48+(56*222)
  1009.      move.b picdata+440+15,screen+48+(56*223)
  1010.      move.b picdata+480+15,screen+48+(56*224)
  1011.      move.b picdata+520+15,screen+48+(56*225)
  1012.      move.b picdata+560+15,screen+48+(56*226)
  1013.      move.b picdata+600+15,screen+48+(56*227)
  1014.      jmp ik
  1015. char17:
  1016.      cmpi.b #81,yaz  ;Q
  1017.      bne char18
  1018.       move.b picdata+320+16,screen+48+(56*220)
  1019.      move.b picdata+360+16,screen+48+(56*221)
  1020.      move.b picdata+400+16,screen+48+(56*222)
  1021.      move.b picdata+440+16,screen+48+(56*223)
  1022.      move.b picdata+480+16,screen+48+(56*224)
  1023.      move.b picdata+520+16,screen+48+(56*225)
  1024.      move.b picdata+560+16,screen+48+(56*226)
  1025.      move.b picdata+600+16,screen+48+(56*227)
  1026.      jmp ik
  1027. char18:
  1028.       cmpi.b #82,yaz  ;R
  1029.      bne char19
  1030.       move.b picdata+320+17,screen+48+(56*220)
  1031.      move.b picdata+360+17,screen+48+(56*221)
  1032.      move.b picdata+400+17,screen+48+(56*222)
  1033.      move.b picdata+440+17,screen+48+(56*223)
  1034.      move.b picdata+480+17,screen+48+(56*224)
  1035.      move.b picdata+520+17,screen+48+(56*225)
  1036.      move.b picdata+560+17,screen+48+(56*226)
  1037.      move.b picdata+600+17,screen+48+(56*227)
  1038.      jmp ik
  1039. char19:
  1040.      cmpi.b #83,yaz  ;S
  1041.      bne char20
  1042.       move.b picdata+320+18,screen+48+(56*220)
  1043.      move.b picdata+360+18,screen+48+(56*221)
  1044.      move.b picdata+400+18,screen+48+(56*222)
  1045.      move.b picdata+440+18,screen+48+(56*223)
  1046.      move.b picdata+480+18,screen+48+(56*224)
  1047.      move.b picdata+520+18,screen+48+(56*225)
  1048.      move.b picdata+560+18,screen+48+(56*226)
  1049.      move.b picdata+600+18,screen+48+(56*227)
  1050.      jmp ik
  1051. char20:
  1052.      cmpi.b #84,yaz  ;T
  1053.      bne char21
  1054.       move.b picdata+320+19,screen+48+(56*220)
  1055.      move.b picdata+360+19,screen+48+(56*221)
  1056.      move.b picdata+400+19,screen+48+(56*222)
  1057.      move.b picdata+440+19,screen+48+(56*223)
  1058.      move.b picdata+480+19,screen+48+(56*224)
  1059.      move.b picdata+520+19,screen+48+(56*225)
  1060.      move.b picdata+560+19,screen+48+(56*226)
  1061.      move.b picdata+600+19,screen+48+(56*227)
  1062.      jmp ik
  1063. char21:
  1064.      cmpi.b #85,yaz  ;U
  1065.      bne char22
  1066.       move.b picdata+320+20,screen+48+(56*220)
  1067.      move.b picdata+360+20,screen+48+(56*221)
  1068.      move.b picdata+400+20,screen+48+(56*222)
  1069.      move.b picdata+440+20,screen+48+(56*223)
  1070.      move.b picdata+480+20,screen+48+(56*224)
  1071.      move.b picdata+520+20,screen+48+(56*225)
  1072.      move.b picdata+560+20,screen+48+(56*226)
  1073.      move.b picdata+600+20,screen+48+(56*227)
  1074.      jmp ik
  1075. char22:
  1076.      cmpi.b #86,yaz  ;V
  1077.      bne char23
  1078.       move.b picdata+320+21,screen+48+(56*220)
  1079.      move.b picdata+360+21,screen+48+(56*221)
  1080.      move.b picdata+400+21,screen+48+(56*222)
  1081.      move.b picdata+440+21,screen+48+(56*223)
  1082.      move.b picdata+480+21,screen+48+(56*224)
  1083.      move.b picdata+520+21,screen+48+(56*225)
  1084.      move.b picdata+560+21,screen+48+(56*226)
  1085.      move.b picdata+600+21,screen+48+(56*227)
  1086.      jmp ik
  1087. char23:
  1088.      cmpi.b #87,yaz  ;W
  1089.      bne char24
  1090.       move.b picdata+320+22,screen+48+(56*220)
  1091.      move.b picdata+360+22,screen+48+(56*221)
  1092.      move.b picdata+400+22,screen+48+(56*222)
  1093.      move.b picdata+440+22,screen+48+(56*223)
  1094.      move.b picdata+480+22,screen+48+(56*224)
  1095.      move.b picdata+520+22,screen+48+(56*225)
  1096.      move.b picdata+560+22,screen+48+(56*226)
  1097.      move.b picdata+600+22,screen+48+(56*227)
  1098.      jmp ik
  1099. char24:
  1100.      cmpi.b #88,yaz  ;X
  1101.      bne char25
  1102.       move.b picdata+320+23,screen+48+(56*220)
  1103.      move.b picdata+360+23,screen+48+(56*221)
  1104.      move.b picdata+400+23,screen+48+(56*222)
  1105.      move.b picdata+440+23,screen+48+(56*223)
  1106.      move.b picdata+480+23,screen+48+(56*224)
  1107.      move.b picdata+520+23,screen+48+(56*225)
  1108.      move.b picdata+560+23,screen+48+(56*226)
  1109.      move.b picdata+600+23,screen+48+(56*227)
  1110.      jmp ik
  1111. char25:
  1112.      cmpi.b #89,yaz  ;Y
  1113.      bne char26
  1114.       move.b picdata+320+24,screen+48+(56*220)
  1115.      move.b picdata+360+24,screen+48+(56*221)
  1116.      move.b picdata+400+24,screen+48+(56*222)
  1117.      move.b picdata+440+24,screen+48+(56*223)
  1118.      move.b picdata+480+24,screen+48+(56*224)
  1119.      move.b picdata+520+24,screen+48+(56*225)
  1120.      move.b picdata+560+24,screen+48+(56*226)
  1121.      move.b picdata+600+24,screen+48+(56*227)
  1122.      jmp ik    
  1123. char26:
  1124.      cmpi.b #90,yaz  ;Z
  1125.      bne char27
  1126.       move.b picdata+320+25,screen+48+(56*220)
  1127.      move.b picdata+360+25,screen+48+(56*221)
  1128.      move.b picdata+400+25,screen+48+(56*222)
  1129.      move.b picdata+440+25,screen+48+(56*223)
  1130.      move.b picdata+480+25,screen+48+(56*224)
  1131.      move.b picdata+520+25,screen+48+(56*225)
  1132.      move.b picdata+560+25,screen+48+(56*226)
  1133.      move.b picdata+600+25,screen+48+(56*227)
  1134.      jmp ik    
  1135. char27:
  1136.      cmpi.b #32,yaz  ;SPACE
  1137.      bne char32
  1138.       move.b picdata,screen+48+(56*220)
  1139.      move.b picdata+40,screen+48+(56*221)
  1140.      move.b picdata+80,screen+48+(56*222)
  1141.      move.b picdata+120,screen+48+(56*223)
  1142.      move.b picdata+160,screen+48+(56*224)
  1143.      move.b picdata+200,screen+48+(56*225)
  1144.      move.b picdata+240,screen+48+(56*226)
  1145.      move.b picdata+280,screen+48+(56*227)
  1146.      jmp ik    
  1147.  
  1148. char32:
  1149.       cmpi.b #46,yaz  ;. 
  1150.      bne char33
  1151.       move.b picdata+11,screen+48+(56*220)
  1152.      move.b picdata+40+11,screen+48+(56*221)
  1153.      move.b picdata+80+11,screen+48+(56*222)
  1154.      move.b picdata+120+11,screen+48+(56*223)
  1155.      move.b picdata+160+11,screen+48+(56*224)
  1156.      move.b picdata+200+11,screen+48+(56*225)
  1157.      move.b picdata+240+11,screen+48+(56*226)
  1158.      move.b picdata+280+11,screen+48+(56*227)
  1159.      jmp ik
  1160. char33:
  1161.      cmpi.b #48,yaz  ;0 
  1162.      bne char34
  1163.       move.b picdata+10,screen+48+(56*220)
  1164.      move.b picdata+40+10,screen+48+(56*221)
  1165.      move.b picdata+80+10,screen+48+(56*222)
  1166.      move.b picdata+120+10,screen+48+(56*223)
  1167.      move.b picdata+160+10,screen+48+(56*224)
  1168.      move.b picdata+200+10,screen+48+(56*225)
  1169.      move.b picdata+240+10,screen+48+(56*226)
  1170.      move.b picdata+280+10,screen+48+(56*227)
  1171.      jmp ik
  1172. char34:
  1173.      cmpi.b #49,yaz  ;1 
  1174.      bne char35
  1175.       move.b picdata+1,screen+48+(56*220)
  1176.      move.b picdata+40+1,screen+48+(56*221)
  1177.      move.b picdata+80+1,screen+48+(56*222)
  1178.      move.b picdata+120+1,screen+48+(56*223)
  1179.      move.b picdata+160+1,screen+48+(56*224)
  1180.      move.b picdata+200+1,screen+48+(56*225)
  1181.      move.b picdata+240+1,screen+48+(56*226)
  1182.      move.b picdata+280+1,screen+48+(56*227)
  1183.      jmp ik    
  1184. char35:
  1185.      cmpi.b #50,yaz  ;2 
  1186.      bne char36
  1187.       move.b picdata+2,screen+48+(56*220)
  1188.      move.b picdata+40+2,screen+48+(56*221)
  1189.      move.b picdata+80+2,screen+48+(56*222)
  1190.      move.b picdata+120+2,screen+48+(56*223)
  1191.      move.b picdata+160+2,screen+48+(56*224)
  1192.      move.b picdata+200+2,screen+48+(56*225)
  1193.      move.b picdata+240+2,screen+48+(56*226)
  1194.      move.b picdata+280+2,screen+48+(56*227)
  1195.      jmp ik        
  1196.      
  1197. char36:
  1198.      cmpi.b #51,yaz  ;3 
  1199.      bne char37
  1200.       move.b picdata+3,screen+48+(56*220)
  1201.      move.b picdata+40+3,screen+48+(56*221)
  1202.      move.b picdata+80+3,screen+48+(56*222)
  1203.      move.b picdata+120+3,screen+48+(56*223)
  1204.      move.b picdata+160+3,screen+48+(56*224)
  1205.      move.b picdata+200+3,screen+48+(56*225)
  1206.      move.b picdata+240+3,screen+48+(56*226)
  1207.      move.b picdata+280+3,screen+48+(56*227)
  1208.      jmp ik        
  1209. char37:
  1210.      cmpi.b #52,yaz  ;4
  1211.      bne char38
  1212.       move.b picdata+4,screen+48+(56*220)
  1213.      move.b picdata+40+4,screen+48+(56*221)
  1214.      move.b picdata+80+4,screen+48+(56*222)
  1215.      move.b picdata+120+4,screen+48+(56*223)
  1216.      move.b picdata+160+4,screen+48+(56*224)
  1217.      move.b picdata+200+4,screen+48+(56*225)
  1218.      move.b picdata+240+4,screen+48+(56*226)
  1219.      move.b picdata+280+4,screen+48+(56*227)
  1220.      jmp ik
  1221. char38:
  1222.      cmpi.b #53,yaz  ;5
  1223.      bne char39
  1224.       move.b picdata+5,screen+48+(56*220)
  1225.      move.b picdata+40+5,screen+48+(56*221)
  1226.      move.b picdata+80+5,screen+48+(56*222)
  1227.      move.b picdata+120+5,screen+48+(56*223)
  1228.      move.b picdata+160+5,screen+48+(56*224)
  1229.      move.b picdata+200+5,screen+48+(56*225)
  1230.      move.b picdata+240+5,screen+48+(56*226)
  1231.      move.b picdata+280+5,screen+48+(56*227)
  1232.      jmp ik
  1233. char39:
  1234.      cmpi.b #54,yaz  ;6
  1235.      bne char40
  1236.       move.b picdata+6,screen+48+(56*220)
  1237.      move.b picdata+40+6,screen+48+(56*221)
  1238.      move.b picdata+80+6,screen+48+(56*222)
  1239.      move.b picdata+120+6,screen+48+(56*223)
  1240.      move.b picdata+160+6,screen+48+(56*224)
  1241.      move.b picdata+200+6,screen+48+(56*225)
  1242.      move.b picdata+240+6,screen+48+(56*226)
  1243.      move.b picdata+280+6,screen+48+(56*227)
  1244.      jmp ik     
  1245. char40:
  1246.      cmpi.b #55,yaz  ;7
  1247.      bne char41
  1248.       move.b picdata+7,screen+48+(56*220)
  1249.      move.b picdata+40+7,screen+48+(56*221)
  1250.      move.b picdata+80+7,screen+48+(56*222)
  1251.      move.b picdata+120+7,screen+48+(56*223)
  1252.      move.b picdata+160+7,screen+48+(56*224)
  1253.      move.b picdata+200+7,screen+48+(56*225)
  1254.      move.b picdata+240+7,screen+48+(56*226)
  1255.      move.b picdata+280+7,screen+48+(56*227)
  1256.      jmp ik         
  1257. char41:
  1258.      cmpi.b #56,yaz  ;8
  1259.      bne char42
  1260.       move.b picdata+8,screen+48+(56*220)
  1261.      move.b picdata+40+8,screen+48+(56*221)
  1262.      move.b picdata+80+8,screen+48+(56*222)
  1263.      move.b picdata+120+8,screen+48+(56*223)
  1264.      move.b picdata+160+8,screen+48+(56*224)
  1265.      move.b picdata+200+8,screen+48+(56*225)
  1266.      move.b picdata+240+8,screen+48+(56*226)
  1267.      move.b picdata+280+8,screen+48+(56*227)
  1268.      jmp ik     
  1269. char42:
  1270.      cmpi.b #57,yaz  ;9
  1271.      bne char43
  1272.      move.b picdata+9,screen+48+(56*220)
  1273.      move.b picdata+40+9,screen+48+(56*221)
  1274.      move.b picdata+80+9,screen+48+(56*222)
  1275.      move.b picdata+120+9,screen+48+(56*223)
  1276.      move.b picdata+160+9,screen+48+(56*224)
  1277.      move.b picdata+200+9,screen+48+(56*225)
  1278.      move.b picdata+240+9,screen+48+(56*226)
  1279.      move.b picdata+280+9,screen+48+(56*227)
  1280.      jmp ik    
  1281.      
  1282. char43:
  1283.      cmpi.b #91,yaz  ;` = [
  1284.      bne char44
  1285.      move.b picdata+13,screen+48+(56*220)
  1286.      move.b picdata+40+13,screen+48+(56*221)
  1287.      move.b picdata+80+13,screen+48+(56*222)
  1288.      move.b picdata+120+13,screen+48+(56*223)
  1289.      move.b picdata+160+13,screen+48+(56*224)
  1290.      move.b picdata+200+13,screen+48+(56*225)
  1291.      move.b picdata+240+13,screen+48+(56*226)
  1292.      move.b picdata+280+13,screen+48+(56*227)
  1293.      jmp ik     
  1294.  
  1295. char44:
  1296.      cmpi.b #93,yaz  ;' = ]
  1297.      bne gobstop
  1298.      move.b picdata+14,screen+48+(56*220)
  1299.      move.b picdata+40+14,screen+48+(56*221)
  1300.      move.b picdata+80+14,screen+48+(56*222)
  1301.      move.b picdata+120+14,screen+48+(56*223)
  1302.      move.b picdata+160+14,screen+48+(56*224)
  1303.      move.b picdata+200+14,screen+48+(56*225)
  1304.      move.b picdata+240+14,screen+48+(56*226)
  1305.      move.b picdata+280+14,screen+48+(56*227)
  1306.      jmp ik    
  1307.      
  1308. gobstop:
  1309.      cmpi.b #45,yaz ; -
  1310.      bne cobstop
  1311.      move.b picdata+12,screen+48+(56*220)
  1312.      move.b picdata+40+12,screen+48+(56*221)
  1313.      move.b picdata+80+12,screen+48+(56*222)
  1314.      move.b picdata+120+12,screen+48+(56*223)
  1315.      move.b picdata+160+12,screen+48+(56*224)
  1316.      move.b picdata+200+12,screen+48+(56*225)
  1317.      move.b picdata+240+12,screen+48+(56*226)
  1318.      move.b picdata+280+12,screen+48+(56*227)
  1319.      jmp ik
  1320.      
  1321. cobstop:
  1322.      cmpi.b #63,yaz ; ?
  1323.      bne charstop1
  1324.      move.b picdata+320+27,screen+48+(56*220)
  1325.      move.b picdata+360+27,screen+48+(56*221)
  1326.      move.b picdata+400+27,screen+48+(56*222)
  1327.      move.b picdata+440+27,screen+48+(56*223)
  1328.      move.b picdata+480+27,screen+48+(56*224)
  1329.      move.b picdata+520+27,screen+48+(56*225)
  1330.      move.b picdata+560+27,screen+48+(56*226)
  1331.      move.b picdata+600+27,screen+48+(56*227)
  1332.      jmp ik
  1333.      
  1334. charstop1:
  1335.      cmpi.b #33,yaz ; !
  1336.      bne charstop
  1337.      move.b picdata+320+26,screen+48+(56*220)
  1338.      move.b picdata+360+26,screen+48+(56*221)
  1339.      move.b picdata+400+26,screen+48+(56*222)
  1340.      move.b picdata+440+26,screen+48+(56*223)
  1341.      move.b picdata+480+26,screen+48+(56*224)
  1342.      move.b picdata+520+26,screen+48+(56*225)
  1343.      move.b picdata+560+26,screen+48+(56*226)
  1344.      move.b picdata+600+26,screen+48+(56*227)
  1345.      jmp ik
  1346.      
  1347. charstop:
  1348.      cmpi.b #38,yaz  ;STOP = &
  1349.      bne char47
  1350.      move.b #1,stop
  1351.      move.b #1,start
  1352.      jmp ik
  1353.  
  1354. char47:
  1355. ik:     cmpi.b #1,gook
  1356.      beq baj
  1357.      move.b screen+48+(56*220),screen+47+(56*220)
  1358.      move.b screen+48+(56*221),screen+47+(56*221)
  1359.      move.b screen+48+(56*222),screen+47+(56*222)
  1360.      move.b screen+48+(56*223),screen+47+(56*223)
  1361.      move.b screen+48+(56*224),screen+47+(56*224)
  1362.      move.b screen+48+(56*225),screen+47+(56*225)
  1363.      move.b screen+48+(56*226),screen+47+(56*226)
  1364.      move.b screen+48+(56*227),screen+47+(56*227)
  1365.      move.b #1,gook
  1366.      jmp printy
  1367. baj:     move.b #0,gook
  1368.      rts
  1369.  
  1370.      
  1371. table:
  1372.      dc.b 'YOU]RE A REAL MAN NOW !!           &                '
  1373.      dc.b 'THIS IS THE FIRST PRODUCTION BROUGHT TO YOU BY      '
  1374.      dc.b '            BLACK BOX!                  &         '
  1375.      dc.b '       MARTIN GALWAY TUNES 1             &          '
  1376.      dc.b '      FEATURING 3 CLASSIC 64 TUNES CONVERTED BY      '
  1377.      dc.b '              CHRONOS!                   &         '
  1378.      dc.b '      ALL CODING BY                        AX!!          '
  1379.      dc.b '            &          '
  1380.      dc.b '      LOGO DRAWN BY                     GIZ!!          '
  1381.      dc.b '           &            '
  1382.      dc.b '      SELECTION OF THE DIFFERENT TUNES IS CONTROLLED BY '
  1383.      dc.b 'PRESSING THE APPROPRIATE FUNCTION KEYS. F1 - PARALLAX HI'
  1384.      dc.b 'GH SCORE TUNE. F2 - RAMBO LOADING TUNE. F3 - RAMBO TITLE'
  1385.      dc.b ' TUNE.                  '
  1386.      dc.b 'MORE 64 TUNES COMING SOON !!!         &                   '
  1387.      dc.b '                        BLACK BOX IN 1990!              '
  1388.      dc.b '&                               '
  1389.      dc.b 0
  1390.      
  1391.      even    
  1392.       
  1393.  
  1394.     
  1395. mt_init:
  1396.     
  1397.     lea    mt_data,a0
  1398.     move.l    a0,a1
  1399.     add.l    #$3b8,a1
  1400.     moveq    #$7f,d0
  1401.     moveq    #0,d1
  1402. mt_loop:move.l    d1,d2
  1403.     subq.w    #1,d0
  1404. mt_lop2:move.b    (a1)+,d1
  1405.     cmp.b    d2,d1
  1406.     bgt.s    mt_loop
  1407.     dbf    d0,mt_lop2
  1408.     addq.b    #1,d2
  1409.  
  1410.     lea    mt_samplestarts(pc),a1
  1411.     asl.l    #8,d2
  1412.     asl.l    #2,d2
  1413.     add.l    #$43c,d2
  1414.     add.l    a0,d2
  1415.     move.l    d2,a2
  1416.     moveq    #$1e,d0
  1417. mt_lop3:clr.l    (a2)
  1418.     move.l    a2,(a1)+
  1419.     moveq    #0,d1
  1420.     move.w    42(a0),d1
  1421.     asl.l    #1,d1
  1422.     add.l    d1,a2
  1423.     add.l    #$1e,a0
  1424.     dbf    d0,mt_lop3
  1425.  
  1426.     or.b    #$2,$bfe001
  1427.     move.b    #$6,mt_speed
  1428.     clr.w    $dff0a8
  1429.     clr.w    $dff0b8
  1430.     clr.w    $dff0c8
  1431.     clr.w    $dff0d8
  1432.     clr.b    mt_songpos
  1433.     clr.b    mt_counter
  1434.     clr.w    mt_pattpos
  1435.     rts
  1436.  
  1437. mt_end:    clr.w    $dff0a8
  1438.     clr.w    $dff0b8
  1439.     clr.w    $dff0c8
  1440.     clr.w    $dff0d8
  1441.     move.w    #$f,$dff096
  1442.     rts
  1443.  
  1444. mt_music:
  1445.     movem.l    d0-d4/a0-a3/a5-a6,-(a7)
  1446.     lea    mt_data,a0
  1447.     addq.b    #$1,mt_counter
  1448.     move.b    mt_counter,D0
  1449.     cmp.b    mt_speed,D0
  1450.     blt.s    mt_nonew
  1451.     clr.b    mt_counter
  1452.     bra    mt_getnew
  1453.  
  1454. mt_nonew:
  1455.     lea    mt_voice1(pc),a6
  1456.     lea    $dff0a0,a5
  1457.     bsr    mt_checkcom
  1458.     lea    mt_voice2(pc),a6
  1459.     lea    $dff0b0,a5
  1460.     bsr    mt_checkcom
  1461.     lea    mt_voice3(pc),a6
  1462.     lea    $dff0c0,a5
  1463.     bsr    mt_checkcom
  1464.     lea    mt_voice4(pc),a6
  1465.     lea    $dff0d0,a5
  1466.     bsr    mt_checkcom
  1467.     bra    mt_endr
  1468.  
  1469. mt_arpeggio:
  1470.     moveq    #0,d0
  1471.     move.b    mt_counter,d0
  1472.     divs    #$3,d0
  1473.     swap    d0
  1474.     cmp.w    #$0,d0
  1475.     beq.s    mt_arp2
  1476.     cmp.w    #$2,d0
  1477.     beq.s    mt_arp1
  1478.  
  1479.     moveq    #0,d0
  1480.     move.b    $3(a6),d0
  1481.     lsr.b    #4,d0
  1482.     bra.s    mt_arp3
  1483. mt_arp1:moveq    #0,d0
  1484.     move.b    $3(a6),d0
  1485.     and.b    #$f,d0
  1486.     bra.s    mt_arp3
  1487. mt_arp2:move.w    $10(a6),d2
  1488.     bra.s    mt_arp4
  1489. mt_arp3:asl.w    #1,d0
  1490.     moveq    #0,d1
  1491.     move.w    $10(a6),d1
  1492.     lea    mt_periods(pc),a0
  1493.     moveq    #$24,d7
  1494. mt_arploop:
  1495.     move.w    (a0,d0.w),d2
  1496.     cmp.w    (a0),d1
  1497.     bge.s    mt_arp4
  1498.     addq.l    #2,a0
  1499.     dbf    d7,mt_arploop
  1500.     rts
  1501. mt_arp4:move.w    d2,$6(a5)
  1502.     rts
  1503.  
  1504. mt_getnew:
  1505.     
  1506.     lea    mt_data,a0
  1507.     move.l    a0,a3
  1508.     move.l    a0,a2
  1509.     add.l    #$c,a3
  1510.     add.l    #$3b8,a2
  1511.     add.l    #$43c,a0
  1512.  
  1513.     moveq    #0,d0
  1514.     move.l    d0,d1
  1515.     move.b    mt_songpos,d0
  1516.     move.b    (a2,d0.w),d1
  1517.     asl.l    #8,d1
  1518.     asl.l    #2,d1
  1519.     add.w    mt_pattpos,d1
  1520.     clr.w    mt_dmacon
  1521.  
  1522.     lea    $dff0a0,a5
  1523.     lea    mt_voice1(pc),a6
  1524.     bsr.s    mt_playvoice
  1525.     lea    $dff0b0,a5
  1526.     lea    mt_voice2(pc),a6
  1527.     bsr.s    mt_playvoice
  1528.     lea    $dff0c0,a5
  1529.     lea    mt_voice3(pc),a6
  1530.     bsr.s    mt_playvoice
  1531.     lea    $dff0d0,a5
  1532.     lea    mt_voice4(pc),a6
  1533.     bsr.s    mt_playvoice
  1534.     bra    mt_setdma
  1535.  
  1536. mt_playvoice:
  1537.     move.l    (a0,d1.l),(a6)
  1538.     addq.l    #4,d1
  1539.     moveq    #0,d2
  1540.     move.b    $2(a6),d2
  1541.     and.b    #$f0,d2
  1542.     lsr.b    #4,d2
  1543.     move.b    (a6),d0
  1544.     and.b    #$f0,d0
  1545.     or.b    d0,d2
  1546.     tst.b    d2
  1547.     beq.s    mt_setregs
  1548.     moveq    #0,d3
  1549.     lea    mt_samplestarts(pc),a1
  1550.     move.l    d2,d4
  1551.     subq.l    #$1,d2
  1552.     asl.l    #2,d2
  1553.     mulu    #$1e,d4
  1554.     move.l    (a1,d2.l),$4(a6)
  1555.     move.w    (a3,d4.l),$8(a6)
  1556.     move.w    $2(a3,d4.l),$12(a6)
  1557.     move.w    $4(a3,d4.l),d3
  1558.     tst.w    d3
  1559.     beq.s    mt_noloop
  1560.     move.l    $4(a6),d2
  1561.     asl.w    #1,d3
  1562.     add.l    d3,d2
  1563.     move.l    d2,$a(a6)
  1564.     move.w    $4(a3,d4.l),d0
  1565.     add.w    $6(a3,d4.l),d0
  1566.     move.w    d0,8(a6)
  1567.     move.w    $6(a3,d4.l),$e(a6)
  1568.     move.w    $12(a6),$8(a5)
  1569.     bra.s    mt_setregs
  1570. mt_noloop:
  1571.     move.l    $4(a6),d2
  1572.     add.l    d3,d2
  1573.     move.l    d2,$a(a6)
  1574.     move.w    $6(a3,d4.l),$e(a6)
  1575.     move.w    $12(a6),$8(a5)
  1576. mt_setregs:
  1577.     move.w    (a6),d0
  1578.     and.w    #$fff,d0
  1579.     beq    mt_checkcom2
  1580.     move.b    $2(a6),d0
  1581.     and.b    #$F,d0
  1582.     cmp.b    #$3,d0
  1583.     bne.s    mt_setperiod
  1584.     bsr    mt_setmyport
  1585.     bra    mt_checkcom2
  1586. mt_setperiod:
  1587.     move.w    (a6),$10(a6)
  1588.     and.w    #$fff,$10(a6)
  1589.     move.w    $14(a6),d0
  1590.     move.w    d0,$dff096
  1591.     clr.b    $1b(a6)
  1592.  
  1593.     move.l    $4(a6),(a5)
  1594.     move.w    $8(a6),$4(a5)
  1595.     move.w    $10(a6),d0
  1596.     and.w    #$fff,d0
  1597.     move.w    d0,$6(a5)
  1598.     move.w    $14(a6),d0
  1599.     or.w    d0,mt_dmacon
  1600.     bra    mt_checkcom2
  1601.  
  1602. mt_setdma:
  1603.     move.w    #$12c,d0
  1604. mt_wait:dbf    d0,mt_wait
  1605.     move.w    mt_dmacon,d0
  1606.     or.w    #$8000,d0
  1607.     move.w    d0,$dff096
  1608.     move.w    #$12c,d0
  1609. mt_wai2:dbf    d0,mt_wai2
  1610.     lea    $dff000,a5
  1611.     lea    mt_voice4(pc),a6
  1612.     move.l    $a(a6),$d0(a5)
  1613.     move.w    $e(a6),$d4(a5)
  1614.     lea    mt_voice3(pc),a6
  1615.     move.l    $a(a6),$c0(a5)
  1616.     move.w    $e(a6),$c4(a5)
  1617.     lea    mt_voice2(pc),a6
  1618.     move.l    $a(a6),$b0(a5)
  1619.     move.w    $e(a6),$b4(a5)
  1620.     lea    mt_voice1(pc),a6
  1621.     move.l    $a(a6),$a0(a5)
  1622.     move.w    $e(a6),$a4(a5)
  1623.  
  1624.     add.w    #$10,mt_pattpos
  1625.     cmp.w    #$400,mt_pattpos
  1626.     bne.s    mt_endr
  1627. mt_nex:    clr.w    mt_pattpos
  1628.     clr.b    mt_break
  1629.     addq.b    #1,mt_songpos
  1630.     and.b    #$7f,mt_songpos
  1631.     move.b    mt_songpos,d1
  1632.     cmp.b    mt_data+$3b6,d1
  1633.     bne.s    mt_endr
  1634.     clr.b    mt_songpos
  1635. mt_endr:tst.b    mt_break
  1636.     bne.s    mt_nex
  1637.     movem.l    (a7)+,d0-d4/a0-a3/a5-a6
  1638.     rts
  1639.  
  1640. mt_setmyport:
  1641.     move.w    (a6),d2
  1642.     and.w    #$fff,d2
  1643.     move.w    d2,$18(a6)
  1644.     move.w    $10(a6),d0
  1645.     clr.b    $16(a6)
  1646.     cmp.w    d0,d2
  1647.     beq.s    mt_clrport
  1648.     bge.s    mt_rt
  1649.     move.b    #$1,$16(a6)
  1650.     rts
  1651. mt_clrport:
  1652.     clr.w    $18(a6)
  1653. mt_rt:    rts
  1654.  
  1655. mt_myport:
  1656.     move.b    $3(a6),d0
  1657.     beq.s    mt_myslide
  1658.     move.b    d0,$17(a6)
  1659.     clr.b    $3(a6)
  1660. mt_myslide:
  1661.     tst.w    $18(a6)
  1662.     beq.s    mt_rt
  1663.     moveq    #0,d0
  1664.     move.b    $17(a6),d0
  1665.     tst.b    $16(a6)
  1666.     bne.s    mt_mysub
  1667.     add.w    d0,$10(a6)
  1668.     move.w    $18(a6),d0
  1669.     cmp.w    $10(a6),d0
  1670.     bgt.s    mt_myok
  1671.     move.w    $18(a6),$10(a6)
  1672.     clr.w    $18(a6)
  1673. mt_myok:move.w    $10(a6),$6(a5)
  1674.     rts
  1675. mt_mysub:
  1676.     sub.w    d0,$10(a6)
  1677.     move.w    $18(a6),d0
  1678.     cmp.w    $10(a6),d0
  1679.     blt.s    mt_myok
  1680.     move.w    $18(a6),$10(a6)
  1681.     clr.w    $18(a6)
  1682.     move.w    $10(a6),$6(a5)
  1683.     rts
  1684.  
  1685. mt_vib:    move.b    $3(a6),d0
  1686.     beq.s    mt_vi
  1687.     move.b    d0,$1a(a6)
  1688.  
  1689. mt_vi:    move.b    $1b(a6),d0
  1690.     lea    mt_sin(pc),a4
  1691.     lsr.w    #$2,d0
  1692.     and.w    #$1f,d0
  1693.     moveq    #0,d2
  1694.     move.b    (a4,d0.w),d2
  1695.     move.b    $1a(a6),d0
  1696.     and.w    #$f,d0
  1697.     mulu    d0,d2
  1698.     lsr.w    #$6,d2
  1699.     move.w    $10(a6),d0
  1700.     tst.b    $1b(a6)
  1701.     bmi.s    mt_vibmin
  1702.     add.w    d2,d0
  1703.     bra.s    mt_vib2
  1704. mt_vibmin:
  1705.     sub.w    d2,d0
  1706. mt_vib2:move.w    d0,$6(a5)
  1707.     move.b    $1a(a6),d0
  1708.     lsr.w    #$2,d0
  1709.     and.w    #$3c,d0
  1710.     add.b    d0,$1b(a6)
  1711.     rts
  1712.  
  1713. mt_nop:    move.w    $10(a6),$6(a5)
  1714.     rts
  1715.  
  1716. mt_checkcom:
  1717.     move.w    $2(a6),d0
  1718.     and.w    #$fff,d0
  1719.     beq.s    mt_nop
  1720.     move.b    $2(a6),d0
  1721.     and.b    #$f,d0
  1722.     tst.b    d0
  1723.     beq    mt_arpeggio
  1724.     cmp.b    #$1,d0
  1725.     beq.s    mt_portup
  1726.     cmp.b    #$2,d0
  1727.     beq    mt_portdown
  1728.     cmp.b    #$3,d0
  1729.     beq    mt_myport
  1730.     cmp.b    #$4,d0
  1731.     beq    mt_vib
  1732.     move.w    $10(a6),$6(a5)
  1733.     cmp.b    #$a,d0
  1734.     beq.s    mt_volslide
  1735.     rts
  1736.  
  1737. mt_volslide:
  1738.     moveq    #0,d0
  1739.     move.b    $3(a6),d0
  1740.     lsr.b    #4,d0
  1741.     tst.b    d0
  1742.     beq.s    mt_voldown
  1743.     add.w    d0,$12(a6)
  1744.     cmp.w    #$40,$12(a6)
  1745.     bmi.s    mt_vol2
  1746.     move.w    #$40,$12(a6)
  1747. mt_vol2:move.w    $12(a6),$8(a5)
  1748.     rts
  1749.  
  1750. mt_voldown:
  1751.     moveq    #0,d0
  1752.     move.b    $3(a6),d0
  1753.     and.b    #$f,d0
  1754.     sub.w    d0,$12(a6)
  1755.     bpl.s    mt_vol3
  1756.     clr.w    $12(a6)
  1757. mt_vol3:move.w    $12(a6),$8(a5)
  1758.     rts
  1759.  
  1760. mt_portup:
  1761.     moveq    #0,d0
  1762.     move.b    $3(a6),d0
  1763.     sub.w    d0,$10(a6)
  1764.     move.w    $10(a6),d0
  1765.     and.w    #$fff,d0
  1766.     cmp.w    #$71,d0
  1767.     bpl.s    mt_por2
  1768.     and.w    #$f000,$10(a6)
  1769.     or.w    #$71,$10(a6)
  1770. mt_por2:move.w    $10(a6),d0
  1771.     and.w    #$fff,d0
  1772.     move.w    d0,$6(a5)
  1773.     rts
  1774.  
  1775. mt_portdown:
  1776.     clr.w    d0
  1777.     move.b    $3(a6),d0
  1778.     add.w    d0,$10(a6)
  1779.     move.w    $10(a6),d0
  1780.     and.w    #$fff,d0
  1781.     cmp.w    #$358,d0
  1782.     bmi.s    mt_por3
  1783.     and.w    #$f000,$10(a6)
  1784.     or.w    #$358,$10(a6)
  1785. mt_por3:move.w    $10(a6),d0
  1786.     and.w    #$fff,d0
  1787.     move.w    d0,$6(a5)
  1788.     rts
  1789.  
  1790. mt_checkcom2:
  1791.     move.b    $2(a6),d0
  1792.     and.b    #$f,d0
  1793.     cmp.b    #$e,d0
  1794.     beq.s    mt_setfilt
  1795.     cmp.b    #$d,d0
  1796.     beq.s    mt_pattbreak
  1797.     cmp.b    #$b,d0
  1798.     beq.s    mt_posjmp
  1799.     cmp.b    #$c,d0
  1800.     beq.s    mt_setvol
  1801.     cmp.b    #$f,d0
  1802.     beq.s    mt_setspeed
  1803.     rts
  1804.  
  1805. mt_setfilt:
  1806.     rts
  1807. mt_pattbreak:
  1808.     not.b    mt_break
  1809.     rts
  1810. mt_posjmp:
  1811.     move.b    $3(a6),d0
  1812.     subq.b    #$1,d0
  1813.     move.b    d0,mt_songpos
  1814.     not.b    mt_break
  1815.     rts
  1816. mt_setvol:
  1817.     cmp.b    #$40,$3(a6)
  1818.     ble.s    mt_vol4
  1819.     move.b    #$40,$3(a6)
  1820. mt_vol4:move.b    $3(a6),$8(a5)
  1821.     rts
  1822. mt_setspeed:
  1823.     move.b    $3(a6),d0
  1824.     and.w    #$1f,d0
  1825.     beq.s    mt_rts2
  1826.     clr.b    mt_counter
  1827.     move.b    d0,mt_speed
  1828. mt_rts2:rts
  1829.  
  1830.  
  1831.  
  1832.  
  1833. mt_sin:
  1834.  dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd
  1835.  dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18
  1836.  
  1837. mt_periods:
  1838.  dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a,$021a,$01fc,$01e0
  1839.  dc.w $01c5,$01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d,$010d,$00fe
  1840.  dc.w $00f0,$00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f,$0087
  1841.  dc.w $007f,$0078,$0071,$0000,$0000
  1842.  
  1843. mt_speed:    dc.b    $6
  1844. mt_songpos:    dc.b    $0
  1845. mt_pattpos:    dc.w    $0
  1846. mt_counter:    dc.b    $0
  1847.  
  1848. mt_break:    dc.b    $0
  1849. mt_dmacon:    dc.w    $0
  1850. mt_samplestarts:dcb.l    $1f,0
  1851. mt_voice1:    dcb.w    10,0
  1852.         dc.w    $1
  1853.         dcb.w    3,0
  1854. mt_voice2:    dcb.w    10,0
  1855.         dc.w    $2
  1856.         dcb.w    3,0
  1857. mt_voice3:    dcb.w    10,0
  1858.         dc.w    $4
  1859.         dcb.w    3,0
  1860. mt_voice4:    dcb.w    10,0
  1861.         dc.w    $8
  1862.         dcb.w    3,0
  1863.  
  1864. mt_data incbin "df1:Modules/Mod.parallax"
  1865.  
  1866.      
  1867. logo:
  1868.      incbin 'df1:graphics/sky.logo.raw'
  1869.      
  1870.